package com.whfc.influx.dao;

import com.whfc.common.result.PageData;
import com.whfc.mach.dto.AppMachDataLogDTO;
import com.whfc.mach.entity.AppMachDataLog;

import java.util.Date;
import java.util.List;

/**
 * @Description: 机械管家硬件原始数据DAO
 * @author: xugcheng
 * @version: 1.0
 * @date: 2020/7/1 10:01
 */
public interface AppMachDataLogDao {

    /**
     * 插入数据
     *
     * @param record
     */
    void insert(AppMachDataLog record);

    /**
     * 批量插入
     *
     * @param logList
     * @return
     */
    void batchInsert(List<AppMachDataLog> logList);

    /**
     * 查询设备在时间段内的数据记录
     *
     * @param machId
     * @param startTime
     * @param endTime
     * @return
     */
    List<AppMachDataLogDTO> selectMachDataLogListByMachId(Integer machId, Date startTime, Date endTime);

    /**
     * 查询硬件在指定时间段内的数据记录
     *
     * @param deviceId
     * @param startTime
     * @param endTime
     * @return
     */
    List<AppMachDataLogDTO> selectMachDataLogListByDeviceId(Integer deviceId, Date startTime, Date endTime);

    /**
     * 查询硬件在指定时间段内的数据记录(分页)
     *
     * @param deviceId
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageData<AppMachDataLogDTO> selectMachDataLogListByDeviceId(Integer deviceId, Date startTime, Date endTime, Integer pageNum, Integer pageSize);

}
